[INFO] fetching crate alice 0.1.0-alpha.1...
[INFO] fixing alice-0.1.0-alpha.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate alice 0.1.0-alpha.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate alice 0.1.0-alpha.1
[INFO] finished tweaking crates.io crate alice 0.1.0-alpha.1
[INFO] tweaked toml for crates.io crate alice 0.1.0-alpha.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate alice 0.1.0-alpha.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate alice 0.1.0-alpha.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 890d4956b15eacef9b47629c096264aaa65f5794798f4344a2c8398a7bab07f2
[INFO] running `Command { std: "docker" "start" "890d4956b15eacef9b47629c096264aaa65f5794798f4344a2c8398a7bab07f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "890d4956b15eacef9b47629c096264aaa65f5794798f4344a2c8398a7bab07f2" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "890d4956b15eacef9b47629c096264aaa65f5794798f4344a2c8398a7bab07f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "890d4956b15eacef9b47629c096264aaa65f5794798f4344a2c8398a7bab07f2" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   standback v0.2.17 (as host dependency) removed features: std
[INFO] [stderr]   syn v1.0.72 (as host dependency) removed features: clone-impls, default, full, visit
[INFO] [stderr] 
[INFO] [stderr]    Compiling libc v0.2.94
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling gmp-mpfr-sys v1.4.5
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling az v1.1.1
[INFO] [stderr]    Compiling const_fn v0.4.7
[INFO] [stderr]    Compiling rug v1.12.0
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]     Checking predicates-core v1.0.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.10
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]     Checking difference v2.0.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking treeline v0.1.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking predicates v1.0.8
[INFO] [stderr]     Checking array-init v0.1.1
[INFO] [stderr]     Checking predicates-tree v1.0.2
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]    Compiling time v0.2.26
[INFO] [stderr]     Checking bstr v0.2.16
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking assert_cmd v1.0.3
[INFO] [stderr]    Compiling time-macros-impl v0.1.1
[INFO] [stderr]     Checking time-macros v0.1.1
[INFO] [stderr]     Checking alice v0.1.0-alpha.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating tests/smallest_int_smaller_code.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/quine.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/prime_ant.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating src/main.rs from 2018 edition to 2021
[INFO] [stderr]        Fixed src/main.rs (2 fixes)
[INFO] [stderr]    Migrating tests/is_triangular.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/semi_diagonal_english_alphabet.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/repeat_nth_elements.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/interleaving_reversing.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/subfactorial.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/hello_world_half_unzippable.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/count_unique_primes.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/card_deck_generator.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/dennis_appreciation.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/reverse_quine.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/visible_die_faces.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/string_reverse_ish.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/dollar_words.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/vibrating_phone.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/addition.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/microwave_timer_input.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/output_same_len_code.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/ends_with_has_factor_digital_root.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/fibonacci_generator.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/others_sum_parity.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/repeat_escape.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/swap_around_pivot.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/string_waves.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/odd_letter_out.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/single_position_is_mirrored.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 29s
[INFO] [stderr] crater-edition-check: alice v0.1.0-alpha.1 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling syn v1.0.72
[INFO] [stderr]    Compiling standback v0.2.17
[INFO] [stderr]    Compiling time-macros-impl v0.1.1
[INFO] [stderr]     Checking time-macros v0.1.1
[INFO] [stderr]     Checking time v0.2.26
[INFO] [stderr]     Checking alice v0.1.0-alpha.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated associated function `time::OffsetDateTime::now_local`: UTC is returned if the local offset cannot be determined
[INFO] [stdout]     --> src/main.rs:1467:53
[INFO] [stdout]      |
[INFO] [stdout] 1467 |                     let now = time::OffsetDateTime::now_local();
[INFO] [stdout]      |                                                     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `time::OffsetDateTime::now_local`: UTC is returned if the local offset cannot be determined
[INFO] [stdout]     --> src/main.rs:1467:53
[INFO] [stdout]      |
[INFO] [stdout] 1467 |                     let now = time::OffsetDateTime::now_local();
[INFO] [stdout]      |                                                     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `(isize, isize)` to itself
[INFO] [stdout]    --> src/types.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             self.pointer.position = self.pointer.position;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/main.rs:305:36
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 (b'W', _, None) => drop(returns.pop()),
[INFO] [stdout]     |                                    ^^^^^-------------^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         argument has type `Option<(isize, isize)>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 305 -                 (b'W', _, None) => drop(returns.pop()),
[INFO] [stdout] 305 +                 (b'W', _, None) => let _ = returns.pop(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/types.rs:285:37
[INFO] [stdout]     |
[INFO] [stdout] 285 | ...                   drop(chars.next());
[INFO] [stdout]     |                       ^^^^^------------^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            argument has type `Option<char>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 285 -                                     drop(chars.next());
[INFO] [stdout] 285 +                                     let _ = chars.next();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `(isize, isize)` to itself
[INFO] [stdout]    --> src/types.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             self.pointer.position = self.pointer.position;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/main.rs:305:36
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 (b'W', _, None) => drop(returns.pop()),
[INFO] [stdout]     |                                    ^^^^^-------------^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         argument has type `Option<(isize, isize)>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 305 -                 (b'W', _, None) => drop(returns.pop()),
[INFO] [stdout] 305 +                 (b'W', _, None) => let _ = returns.pop(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/types.rs:285:37
[INFO] [stdout]     |
[INFO] [stdout] 285 | ...                   drop(chars.next());
[INFO] [stdout]     |                       ^^^^^------------^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            argument has type `Option<char>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 285 -                                     drop(chars.next());
[INFO] [stdout] 285 +                                     let _ = chars.next();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 36s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   standback v0.2.17 (as host dependency) removed features: std
[INFO] [stderr]   syn v1.0.72 (as host dependency) removed features: clone-impls, default, full, visit
[INFO] [stderr] 
[INFO] [stderr]     Checking alice v0.1.0-alpha.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating tests/is_triangular.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/is_triangular.rs (2 fixes)
[INFO] [stderr]    Migrating tests/interleaving_reversing.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/interleaving_reversing.rs (2 fixes)
[INFO] [stderr]    Migrating tests/swap_around_pivot.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/swap_around_pivot.rs (3 fixes)
[INFO] [stderr]    Migrating tests/quine.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/fibonacci_generator.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/dollar_words.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/dollar_words.rs (2 fixes)
[INFO] [stderr]    Migrating tests/semi_diagonal_english_alphabet.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/addition.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/addition.rs (3 fixes)
[INFO] [stderr]    Migrating tests/string_waves.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/string_waves.rs (2 fixes)
[INFO] [stderr]    Migrating tests/output_same_len_code.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/repeat_escape.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/dennis_appreciation.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/dennis_appreciation.rs (2 fixes)
[INFO] [stderr]    Migrating tests/prime_ant.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/prime_ant.rs (2 fixes)
[INFO] [stderr]    Migrating tests/others_sum_parity.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/others_sum_parity.rs (2 fixes)
[INFO] [stderr]    Migrating tests/single_position_is_mirrored.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/single_position_is_mirrored.rs (3 fixes)
[INFO] [stderr]    Migrating tests/odd_letter_out.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/odd_letter_out.rs (2 fixes)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/main.rs:1522:28
[INFO] [stdout]      |
[INFO] [stdout] 1522 |                     if rng.gen() {
[INFO] [stdout]      |                            ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout]      = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]    = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr_2021, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:23:43
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr, $stack:expr_2021 } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:23:85
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                                                                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr_2021 } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                                                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:27:30
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr_2021, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => noiter $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:27:43
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr_2021 } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => noiter $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:27:85
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                                                                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr_2021 } { $($finished_arms:tt)* } { $($pats:pat_param)| + => noiter $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:27:158
[INFO] [stdout]    |
[INFO] [stdout] 27 | ...$finished_arms:tt)* } { $($pats:pat_param)| + => noiter $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => noiter $expr:expr_2021, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                                                                                                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr_2021, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr_2021 } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:37:85
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                                                                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr_2021 } { $($finished_arms:tt)* } { $($pats:pat_param)| + => $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: rustc interrupted by SIGSEGV, printing backtrace
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:37:151
[INFO] [stdout]    |
[INFO] [stdout] 37 | ... } { $($finished_arms:tt)* } { $($pats:pat_param)| + => $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => $expr:expr_2021, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                                                                                                           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr, $stack:expr } $loop_label:lifetime: match { $scrutinee:expr } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr_2021, $stack:expr } $loop_label:lifetime: match { $scrutinee:expr } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x3cf9acc)[0x7d635d4f9acc]
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:61:38
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr, $stack:expr } $loop_label:lifetime: match { $scrutinee:expr } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr, $stack:expr_2021 } $loop_label:lifetime: match { $scrutinee:expr } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /lib/x86_64-linux-gnu/libc.so.6(+0x45330)[0x7d6359633330]
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:61:86
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr, $stack:expr } $loop_label:lifetime: match { $scrutinee:expr } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                                                                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr, $stack:expr } $loop_label:lifetime: match { $scrutinee:expr_2021 } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                                                                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x4583125)[0x7d635dd83125]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/types.rs:281:51
[INFO] [stdout]     |
[INFO] [stdout] 277 |                 let mut maybe_number = None;
[INFO] [stdout]     |                     ----------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `maybe_number` calls a custom destructor
[INFO] [stdout]     |                     `maybe_number` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 281 |                             if let Some(number) = maybe_number.take() {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 290 |                         },
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 297 |                         Some(_) => if let Some(number) = maybe_number.take() {
[INFO] [stdout]     |                                                          -------------------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rug-1.12.0/src/integer/traits.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl Drop for Integer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `maybe_number` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rug-1.12.0/src/integer/traits.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl Drop for Integer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rug-1.12.0/src/integer/traits.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl Drop for Integer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45823d2)[0x7d635dd823d2]
[INFO] [stderr] 
[INFO] [stderr] ### cycle encountered after 4 frames with period 5
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7d635dd827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7d635dd827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7d635dd827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7d635dd827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7d635dd827d9]
[INFO] [stderr] ### recursed 50 times
[INFO] [stderr] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7d635dd827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7d635dd827d9]
[INFO] [stderr] 
[INFO] [stderr] note: rustc unexpectedly overflowed its stack! this is a bug
[INFO] [stderr] note: maximum backtrace depth reached, frames may have been lost
[INFO] [stderr] note: we would appreciate a report at https://github.com/rust-lang/rust
[INFO] [stderr] help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
[INFO] [stderr] child failed with signal `11`
[INFO] [stderr] error: could not compile `alice` (bin "alice"); 16 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/bin/cargo /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/bin/rustc --crate-name alice --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=5e4de0c11fe6cca8 -C extra-filename=-91ccb25e07aa63aa --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern array_init=/opt/rustwide/target/debug/deps/libarray_init-88738ff3713a5a7f.rmeta --extern clap=/opt/rustwide/target/debug/deps/libclap-2c60be7ba2ae6873.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-372d4df154982b3b.rmeta --extern rug=/opt/rustwide/target/debug/deps/librug-a2d4628b3b26eff8.rmeta --extern time=/opt/rustwide/target/debug/deps/libtime-85d01e296746ebe1.rmeta -L native=/opt/rustwide/target/debug/build/gmp-mpfr-sys-22aa9d5e300a9b7d/out/lib` (exit status: 2)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr]    Migrating tests/hello_world_half_unzippable.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/count_unique_primes.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/count_unique_primes.rs (2 fixes)
[INFO] [stderr]    Migrating tests/microwave_timer_input.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/microwave_timer_input.rs (2 fixes)
[INFO] [stderr]    Migrating tests/subfactorial.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/subfactorial.rs (2 fixes)
[INFO] [stderr]    Migrating tests/vibrating_phone.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/vibrating_phone.rs (2 fixes)
[INFO] [stderr]    Migrating tests/ends_with_has_factor_digital_root.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/ends_with_has_factor_digital_root.rs (2 fixes)
[INFO] [stderr]    Migrating tests/reverse_quine.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/repeat_nth_elements.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/repeat_nth_elements.rs (3 fixes)
[INFO] [stderr]    Migrating tests/smallest_int_smaller_code.rs from 2021 edition to 2024
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/main.rs:1522:28
[INFO] [stdout]      |
[INFO] [stdout] 1522 |                     if rng.gen() {
[INFO] [stdout]      |                            ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout]      = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]    = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr_2021, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:23:43
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr, $stack:expr_2021 } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:23:85
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                                                                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 23 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr_2021 } { $($finished_arms:tt)* } {} ) => {
[INFO] [stdout]    |                                                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:27:30
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr_2021, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => noiter $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:27:43
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr_2021 } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => noiter $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:27:85
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                                                                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr_2021 } { $($finished_arms:tt)* } { $($pats:pat_param)| + => noiter $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:27:158
[INFO] [stdout]    |
[INFO] [stdout] 27 | ...$finished_arms:tt)* } { $($pats:pat_param)| + => noiter $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => noiter $expr:expr_2021, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                                                                                                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr_2021, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr_2021 } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:37:85
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_p...
[INFO] [stdout]    |                                                                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr_2021 } { $($finished_arms:tt)* } { $($pats:pat_param)| + => $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/visible_die_faces.rs from 2021 edition to 2024
[INFO] [stderr] error: rustc interrupted by SIGSEGV, printing backtrace
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:37:151
[INFO] [stdout]    |
[INFO] [stdout] 37 | ... } { $($finished_arms:tt)* } { $($pats:pat_param)| + => $expr:expr, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 37 |     ( @internal { $iterators:expr, $stack:expr } { $loop_label:lifetime, $scrutinee:expr } { $($finished_arms:tt)* } { $($pats:pat_param)| + => $expr:expr_2021, $($rest:tt)* } ) => {
[INFO] [stdout]    |                                                                                                                                                           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr, $stack:expr } $loop_label:lifetime: match { $scrutinee:expr } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr_2021, $stack:expr } $loop_label:lifetime: match { $scrutinee:expr } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x3cf9acc)[0x7ae28f0f9acc]
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:61:38
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr, $stack:expr } $loop_label:lifetime: match { $scrutinee:expr } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr, $stack:expr_2021 } $loop_label:lifetime: match { $scrutinee:expr } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /lib/x86_64-linux-gnu/libc.so.6(+0x45330)[0x7ae28b20b330]
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/main.rs:61:86
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr, $stack:expr } $loop_label:lifetime: match { $scrutinee:expr } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                                                                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ( with { $iterators:expr, $stack:expr } $loop_label:lifetime: match { $scrutinee:expr_2021 } { $($arms:tt)* } ) => {
[INFO] [stdout]    |                                                                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x4583125)[0x7ae28f983125]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/types.rs:281:51
[INFO] [stdout]     |
[INFO] [stdout] 277 |                 let mut maybe_number = None;
[INFO] [stdout]     |                     ----------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `maybe_number` calls a custom destructor
[INFO] [stdout]     |                     `maybe_number` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 281 |                             if let Some(number) = maybe_number.take() {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 290 |                         },
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 297 |                         Some(_) => if let Some(number) = maybe_number.take() {
[INFO] [stdout]     |                                                          -------------------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rug-1.12.0/src/integer/traits.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl Drop for Integer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `maybe_number` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rug-1.12.0/src/integer/traits.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl Drop for Integer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rug-1.12.0/src/integer/traits.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl Drop for Integer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45823d2)[0x7ae28f9823d2]
[INFO] [stderr] 
[INFO] [stderr] ### cycle encountered after 4 frames with period 5
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7ae28f9827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7ae28f9827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7ae28f9827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7ae28f9827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7ae28f9827d9]
[INFO] [stderr] ### recursed 50 times
[INFO] [stderr] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7ae28f9827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7ae28f9827d9]
[INFO] [stderr] 
[INFO] [stderr] note: rustc unexpectedly overflowed its stack! this is a bug
[INFO] [stderr] note: maximum backtrace depth reached, frames may have been lost
[INFO] [stderr] note: we would appreciate a report at https://github.com/rust-lang/rust
[INFO] [stderr] help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
[INFO] [stderr] child failed with signal `11`
[INFO] [stderr] error: could not compile `alice` (bin "alice" test); 16 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/bin/cargo /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/bin/rustc --crate-name alice --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=5038ea28c8437882 -C extra-filename=-ec015a50cce68a2a --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern array_init=/opt/rustwide/target/debug/deps/libarray_init-88738ff3713a5a7f.rmeta --extern assert_cmd=/opt/rustwide/target/debug/deps/libassert_cmd-dcc8ea60791f1c6b.rmeta --extern clap=/opt/rustwide/target/debug/deps/libclap-2c60be7ba2ae6873.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-372d4df154982b3b.rmeta --extern rug=/opt/rustwide/target/debug/deps/librug-a2d4628b3b26eff8.rmeta --extern time=/opt/rustwide/target/debug/deps/libtime-85d01e296746ebe1.rmeta -L native=/opt/rustwide/target/debug/build/gmp-mpfr-sys-22aa9d5e300a9b7d/out/lib` (exit status: 2)
[INFO] [stderr]        Fixed tests/visible_die_faces.rs (2 fixes)
[INFO] [stderr]    Migrating tests/string_reverse_ish.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/string_reverse_ish.rs (2 fixes)
[INFO] [stderr]    Migrating tests/card_deck_generator.rs from 2021 edition to 2024
[INFO] running `Command { std: "docker" "inspect" "890d4956b15eacef9b47629c096264aaa65f5794798f4344a2c8398a7bab07f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "890d4956b15eacef9b47629c096264aaa65f5794798f4344a2c8398a7bab07f2", kill_on_drop: false }`
[INFO] [stdout] 890d4956b15eacef9b47629c096264aaa65f5794798f4344a2c8398a7bab07f2
